Weight Based Upselling

ABSTRACT

Weight based upselling, including receiving a purchase request for an item from a customer; determining a weight of the item; identifying, in dependence upon the weight of the item, a shipping weight range and a shipping cost for the item, where the shipping weight range includes a maximum shipping weight; calculating a difference between the weight of the item and the maximum shipping weight in the shipping weight range; selecting an upsell item in dependence upon the difference between the weight of the item and the maximum shipping weight in the shipping weight range; and offering the upsell item to the customer, including offering to ship both the item and the upsell item for only the identified shipping cost.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation application of and claims priorityfrom U.S. patent application Ser. No. 10/981,265, filed on Nov. 4, 2004,and U.S. patent application Ser. No. 12/058,674, filed on Mar. 29, 2008.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The field of the invention is data processing, or, more specifically,methods, systems, and products for weight based upselling.

2. Description Of Related Art

Online shopping on the Internet and the World Wide Web has becomecommonplace. Customers have become accustomed to price shopping to getthe best deal on the products they buy. Other than picking the method ofshipping (ground, second day, next day, and so on), customers generallydo not think of minimizing the shipping costs when ordering. In fact,many shippers will charge a flat rate for package up to a certain amountof weight. If the package weights less than the maximum weight allowedfor the flat rate, this extra shipping space is wasted and thecustomer's effectively overpays the shipping cost for an order.

SUMMARY OF THE INVENTION

Methods, systems, and products are disclosed for weight based upsellingthat reduce the risk of wasting shipping costs by offering a customer anadditional purchase of an item whose weight can be included in theunused portion of the shipping cost—so that the item can be shipped tothe customer at no additional cost for the shipping. That is, methods,systems, and products are disclosed for weight based upselling thatinclude receiving a purchase request for an item from a customer;determining a weight of the item; identifying, in dependence upon theweight of the item, a shipping weight range and a shipping cost for theitem, where the shipping weight range includes a maximum shippingweight; calculating a difference between the weight of the item and themaximum shipping weight in the shipping weight range; selecting anupsell item in dependence upon the difference between the weight of theitem and the maximum shipping weight in the shipping weight range; andoffering the upsell item to the customer, including offering to shipboth the item and the upsell item for only the identified shipping cost.

In typical embodiments, receiving a purchase request for an itemincludes receiving a purchase request in an electronic commerce serverthrough an electronic data communications medium, and offering theupsell item to the customer includes offering the upsell item to thecustomer from the electronic commerce server through the electronic datacommunications medium. In other embodiments, receiving a purchaserequest for an item includes receiving a purchase request for an item bytelephone, and offering the upsell item to the customer includesoffering the upsell item to the customer by telephone. In typicalembodiments, the purchase request includes an item identifier. In suchembodiments, determining a weight of the item includes selecting an itemrecord in dependence upon the item identifier and reading the weight ofthe item from the item record. In such embodiments, the item recordtypically includes data elements describing the item, including theweight of the item.

In typical embodiments, selecting an upsell item in dependence upon thedifference between the weight of the item and the maximum shippingweight in the shipping weight range also includes selecting an upsellitem having a weight not greater than the difference between the weightof the item and the maximum shipping weight in the shipping weightrange. In typical embodiments, selecting an upsell item in dependenceupon the difference between the weight of the item and the maximumshipping weight in the shipping weight range also includes selecting anupsell item having a weight not greater than the difference between theweight of the item and the maximum shipping weight in the shippingweight range and a type code matching a type code associated with theitem. In typical embodiments, selecting an upsell item in dependenceupon the difference between the weight of the item and the maximumshipping weight in the shipping weight range also includes selecting anupsell item having a weight not greater than the difference between theweight of the item and the maximum shipping weight in the shippingweight range and at least one demographic code matching at least onedemographic code associated with the customer. In typical embodiments,selecting an upsell item in dependence upon the difference between theweight of the item and the maximum shipping weight in the shippingweight range also includes selecting an upsell item having a weight notgreater than the difference between the weight of the item and themaximum shipping weight in the shipping weight range; and an item typematching an item type associated with the customer through a purchasehistory.

The foregoing and other objects, features and advantages of theinvention will be apparent from the following more particulardescriptions of exemplary embodiments of the invention as illustrated inthe accompanying drawings wherein like reference numbers generallyrepresent like parts of exemplary embodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 sets forth a diagram illustrating a system for weight basedupselling according to embodiments of the present invention.

FIG. 2 sets forth a block diagram of exemplary automated computingmachinery for weight based upselling.

FIG. 3 sets forth a data structure diagram illustrating exemplary datastructures and relations among them useful in systems for weight basedupselling.

FIG. 4 sets forth a flow chart illustrating a method for weight basedupselling.

FIG. 5 depicts a graphical user interface (‘GUI’) of an exemplarycomputer software application program, more particularly, a browser.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS Introduction

The present invention is described to a large extent in thisspecification in terms of methods for weight based upselling. Personsskilled in the art, however, will recognize that any computer systemthat includes suitable programming means for operating in accordancewith the disclosed methods also falls well within the scope of thepresent invention. Suitable programming means include any means fordirecting a computer system to execute the steps of the method of theinvention, including for example, systems comprised of processing unitsand arithmetic-logic circuits coupled to computer memory, which systemshave the capability of storing in computer memory, which computer memoryincludes electronic circuits configured to store data and programinstructions, programmed steps of the method of the invention forexecution by a processing unit.

The invention also may be embodied in a computer program product, suchas a diskette or other recording medium, for use with any suitable dataprocessing system. Embodiments of a computer program product may beimplemented by use of any recording medium for machine-readableinformation, including magnetic media, optical media, or other suitablemedia. Persons skilled in the art will immediately recognize that anycomputer system having suitable programming means will be capable ofexecuting the steps of the method of the invention as embodied in aprogram product. Persons skilled in the art will recognize immediatelythat, although most of the exemplary embodiments described in thisspecification are oriented to software installed and executing oncomputer hardware, nevertheless, alternative embodiments implemented asfirmware or as hardware are well within the scope of the presentinvention.

Weight Based Upselling

Methods, systems, and products for weight based upselling are describedwith reference to the accompanying drawings, beginning with FIG. 1. FIG.1 sets forth a diagram illustrating a system for weight based upsellingaccording to embodiments of the present invention. Weight basedupselling is offering a second item for sale to a customer who hasissued a purchase request for a first item when the second item has aweight not greater than the difference between the weight of the firstitem and the maximum shipping weight in a shipping weight range for thesame cost. That is, weight based upselling is offering a second item forsale with no addition to the shipping costs; the second item ships forfree, with its shipping costs effectively included in the shipping costfor the first item because adding the second item to the order does notincrease the overall weight into another shipping cost level. The weightof the second item is added to the shipment weight of the first itemwithout increasing the shipping cost.

The system of FIG. 1 includes a merchant (102) that operates generallyto receive a purchase request for an inventory item from a customer(134); determine a weight of the item; identify, in dependence upon theweight of the item, a shipping weight range and a shipping cost for theitem, where the shipping weight range includes a maximum shippingweight; calculate a difference between the weight of the item and themaximum shipping weight in the shipping weight range; select an upsellitem in dependence upon the difference between the weight of the itemand the maximum shipping weight in the shipping weight range; and offerthe upsell item to the customer, including offering to ship both theitem and the upsell item for only the identified shipping cost.

In the system of FIG. 4, purchase requests (202) and inventory items(220) are represented as information in a data store (450). Inventoryitems are generally referred to in this specification as ‘items’ and canbe anything subject to commercial sales, goods, services, leases,parcels of real estate, stocks and bonds, and so on, as will occur tothose of skill in the art.

The merchant may receive purchases requests in electronic form, as paperpurchase forms forwarded through the mail, by telephone, and in otherways as will occur to those of skill in the art.

In the system of FIG. 1, a merchant (102) may receive a purchase request(202) for an item by receiving a purchase request in an electroniccommerce server (108) through an electronic data communications medium(1 12). In the system of FIG. 1, an electronic purchase request mayoriginate with a customer (134, 124) who enters a purchase requestthrough a computer that supports a data communications client such as,for example, a browser. An electronic purchase request can then beimplemented as a markup document expressed in a markup language andcommunicated electronically according to data communications protocolsfrom a client computer to an ecommerce server (108) in the merchant(102). Examples of client computers operable in systems for weight basedupselling according to embodiments of the present invention in thesystem of FIG. 1 include:

-   -   a mobile telephone (110) connected for electronic data        communications to ecommerce server (108) in merchant (102)        through wireless connection (114) and Wide Area Network (‘WAN’)        (112);    -   a laptop computer (126) connected for electronic data        communications to ecommerce server (108) in merchant (102)        through wireline connection (116) and Wide Area Network (‘WAN’)        (112);    -   a personal computer (103) connected for electronic data        communications to ecommerce server (108) in merchant (102)        through wireline connection (122) and Wide Area Network (‘WAN’)        (112); and    -   a personal digital assistant (‘PDA’) (126) connected for        electronic data communications to ecommerce server (108) in        merchant (102) through wireless connection (120) and Wide Area        Network (‘WAN’) (112).

Markup languages useful to implement purchase requests in electronicform in systems for weight based upselling according to embodiments ofthe present invention include, for example, the HyperText MarkupLanguage (‘HTML’), the Wireless Markup Language (‘WML’), and theeXtensible Markup Language (‘XML’). Data communications protocols usefulto transmit purchase requests in electronic form from client computersto ecommerce servers in systems for weight based upselling according toembodiments of the present invention include, for example, the HyperTextTransfer Protocol (‘HTTP’), the Wireless Access Protocol (‘WAP’), theTransmission Control Protocol (‘TCP’), and the Internet Protocol (‘IP’).

In the system of FIG. 1, merchant (102) may receive a purchase requestas a paper purchase form forwarded (128) from a customer (134) throughthe ordinary mail (136) to a catalog sales department (104). In thesystem of FIG. 1, merchant (102) may receive a purchase request for anitem by telephone (130, 132) through a Public Switched Telephone Network(‘PSTN’) (106) in a call center (118), for example. Merchant employeesin the catalog sales department (104) and in the call center (118) havecomputer workstations connected to the data store (450) so that themerchant's employees may store and retrieve information regardingpurchase requests, inventory items, customers, and so on.

The merchant of FIG. 1 may select an upsell item and offer the upsellitem to the customer, including offering to ship both the item and theupsell item for only the identified shipping cost. Just as a merchantmay receive a purchase according to the system of FIG. 1,electronically, by mail, or by phone, the merchant, having selected anupsell item, may offer the upsell item to the customer electronically,by mail, or by phone. That is, the merchant may offer an upsell item toa customer (134) from the electronic commerce server (108) through theelectronic data communications medium (112). Alternatively, the merchantmay offer the upsell item to the customer by telephone (132) from thecall center (118).

Systems for weight based upselling according to embodiments of thepresent invention are generally implemented with automated computingmachinery, that is, with computers. In the system of FIG. 1, forexample, several principal components are represented primarily ascomputers, including client computers (110, 126, 103, 126), theecommerce server (108), and the data store (450). For furtherexplanation, therefore, FIG. 2 sets forth a block diagram of automatedcomputing machinery comprising a computer (152) useful in systems forweight based upselling according to embodiments of the presentinvention.

The computer (152) of FIG. 2 includes at least one computer processor(156) or ‘CPU’ as well as random access memory (168) (“RAM”). Stored inRAM (168) is an ecommerce server (190) and a weight based upsellingcontrol application (191) which, taken together, represent anaggregation of computer instructions that carry out weight basedupselling according to embodiments of the present invention. That is,the ecommerce server (190) and a weight based upselling controlapplication (191) work together to receive a purchase request for aninventory item from a customer, determine the weight of the item,identify a shipping weight range and a shipping cost for the item,calculate the difference between the weight of the item and the maximumshipping weight, select an upsell item in dependence upon thedifference, and offer the upsell item to the customer, includingoffering to ship both the item and the upsell item for only theidentified shipping cost. Also stored in RAM (168) is an operatingsystem (154). Operating systems useful in computers according toembodiments of the present invention include UniX™, Linux™, AIX™,Microsoft NT™, and many others as will occur to those of skill in theart. In the example of FIG. 2, the ecommerce server (190) and the weightbased upselling control application (191), and the operating system(154) are shown in RAM (168), although many components of such softwaremay also be stored in non-volatile memory (166).

The computer (152) of FIG. 2 includes non-volatile computer memory (166)coupled through a system bus (160) to processor (156) and to othercomponents of the computer. Non-volatile computer memory (166) may beimplemented as a hard disk drive (170), optical disk drive (172),electrically erasable programmable read-only memory space (so-called‘EEPROM’ or ‘Flash’ memory) (174), RAM drives (not shown), or as anyother kind of non-volatile computer memory as will occur to those ofskill in the art. Non-volatile memory may be used to implement a memorystore like the one at reference (450) on FIG. 1.

The exemplary computer (152) of FIG. 2 includes a communications adapter(167) for implementing connections for data communications (184),including connections through networks, to other computers (182),including, for example, the client computers of FIG. 1 (110, 126, 103,126) and others as will occur to those of skill in the art.Communications adapters implement the hardware level of connections fordata communications through which one computer sends data communicationsanother computer, directly or through a network. Examples ofcommunications adapters useful for weight based upselling according toembodiments of the present invention include modems for wired dial-upconnections, Ethernet (IEEE 802.3) adapters for wired networkconnections, and 802.11b adapters for wireless network connections.

The example computer of FIG. 2 includes one or more input/outputinterface adapters (178). Input/output interface adapters in computersimplement user-oriented input/output through, for example, softwaredrivers and computer hardware for controlling output to display devices(180) such as computer display screens, as well as user input from userinput devices (181) such as keyboards, mice, numeric keypads, andmagnetic card readers.

A merchant may determine the weight of an item, identify a shippingweight range and a shipping cost for the item, calculate the differencebetween the weight of the item and the maximum shipping weight, andselect an upsell item—all by use of the data store illustrated atreference (450) in FIG. 1. The data store may be used under automationby an ecommerce server or by use of queries entered manually throughcomputer workstations on employees' desks in a catalog sales departmentor a call center. For further explanation, FIG. 3 sets forth a datastructure diagram illustrating exemplary data structures and relationsamong them useful in systems for weight based upselling. The examples ofFIG. 3 are for explanation only, not for limitation of the presentinvention. Many data structures and data models as will occur to thoseof skill in the art are useful in system for weight based upsellingaccording to embodiments of the present invention.

The exemplary data structures of FIG. 3 include records representingpurchase requests (202) each of which includes a request identificationfield (204) that includes a unique identification code uniquelyidentifying a particular purchase request, a customer identificationfield (206) that identifies the customer from whom the purchase requestis received, and an item identification field (208) that identifies theinventory item to be purchased according to the purchase request.Related to the purchase request records (202) one-to-many (292) throughthe customerID field (206) operating as a foreign key, are customerrecords (240), each of which includes fields describing a customer suchas, for example, a customer identification field (206) and customer nameand address fields (262-270).

The exemplary data structures of FIG. 3 include records representinginventory items (220) each of which includes an item identificationfield (208), a price field (222), a weight field (224) that stores theweight of the item represented by an item record, a description field(226) for storing a text description of an item, an image field (228)for storing an image of an item or a pathname where an image of the itemmay be found, and an item type field (229) for storing valuescategorizing an item. Upon receiving a purchase request (202) thatincludes an item identifier, a merchant may determine the weight of theitem further by selecting an item record (220) whose item ID (208)matches the item ID (208) in the purchase request (202) and reading theweight (224) of the item from the selected item record (220).

The exemplary data structures of FIG. 3 include records representingshipping costs (230) for shipping inventory items having weights inweight ranges. Each shipping cost record (230) includes a shipping cost(222) and a range of shipping weights (232) to which the shipping costis applied. The range of shipping weights is characterized by a maximumshipping weight for the range. Having received a purchase request anddetermined the weight of the inventory item identified for purchase inthe purchase request, a merchant may identify, in dependence upon theweight of the item, a shipping weight range and a shipping cost for theitem by selecting a shipping cost record whose shipping weight rangeincludes the weight of the item. The merchant may calculate thedifference between the weight of the item and the maximum shippingweight in the shipping weight range and select an upsell item as onewhose weight is not greater than that difference.

The exemplary data structures of FIG. 3 support selection of upsellitems on the basis of type. That is, having received a purchase requestand determined the weight of the inventory item identified for purchasein the purchase request, a merchant may select an upsell item not onlyfor having a weight not greater than the difference between the weightof the item and the maximum shipping weight in the shipping weight rangebut also for having a type code (229) matching the type code associatedwith the inventory item identified in the purchase request. A request topurchase a book on home gyms, for example, having a weight in a shippingweight range that leaves room in the range for another book weighingsomewhat less than the purchased book, may be selected as an upsell itembecause its type code (229) indicates that it too is a book about homeexercise equipment.

The exemplary data structures of FIG. 3 include records representingpurchaser demographics (282) each of which includes a demographicidentification code (252) and a text description of a representativedemographic (284). Demographics may include age, gender, occupation, zipcode, income level, occupation, expressions of interest regardinginventory items or types of inventory items and others as will occur tothose of skill in the art. In addition to the demographics recordsthemselves, the exemplary data structures of FIG. 3 include two sets oflink records (276, 250) respectively linking (250) item records (220) todemographics (282) in a many-to-many relation by the foreign keysdemograpicID (252) and itemID (208)—and also linking (276) customerrecords (240) to demographics (282) by the foreign keys demograpicID(252) and customerID (206).

The exemplary data structures of FIG. 3 support selection of upsellitems on the basis of demographic. That is, having received a purchaserequest and determined the weight of the inventory item identified forpurchase in the purchase request, a merchant may select an upsell itemnot only for having a weight not greater than the difference between theweight of the item and the maximum shipping weight in the shippingweight range but also for having its itemID associated in a demographiclink record (250) with a demographicID (252) that matches thedemographicID of another item in the link records. A request to purchasea book on home gyms, for example, having a weight in a shipping weightrange that leaves room in the range for another book weighing somewhatless than the purchased book, may be selected as an upsell item because,upon searching demographic link records with the itemID of the purchasedbook on home gyms, a demographic link record is found indicating thatmen whose ages are 25-35 purchase books about home gyms. Upon furthersearch of the link records for other items having the same demographic,an itemID for the second book is found, and the second book is offeredas an upsell item.

The exemplary data structures of FIG. 3 include records representingpurchase histories (210). Each such record represents a previouspurchase of an item or type of item by a customer. Each purchase historyrecord (210) includes a customer ID (206), an item ID (208), and an itemtype (229). Readers of skill in the art will recognize that the purchasehistory records (210) form a many-to-many link between the item records(220) and the customer records (240) by the foreign keys customer ID(206), item ID (208), and item type (229).

The exemplary data structures of FIG. 3 support selection of upsellitems on the basis of purchase history. That is, having received apurchase request and determined the weight of the inventory itemidentified for purchase in the purchase request, a merchant may selectan upsell item not only for having a weight not greater than thedifference between the weight of the item and the maximum shippingweight in the shipping weight range but also for having its itemIDassociated in a purchase history record (210) with the customer ID (206)of the customer identified in the purchase request (202, 206). A requestto purchase a book on home gyms, for example, having a weight in ashipping weight range that leaves room in the range for another bookweighing somewhat less than the purchased book, may be selected as anupsell item because, upon searching demographic link records with theitemID of the purchased book on home gyms, a purchase history record isfound indicating that the customer identified on the purchase requestalso purchased a book on Zen Buddhism. The second book is a book on ZenBuddhism, selected as an upsell item and offered to the customer.

For further explanation, FIG. 4 sets forth a flow chart illustrating amethod for weight based upselling that includes receiving (402) apurchase request (202) for an item from a customer (134) and determining(406) the weight of the item. In the method of FIG. 4, the weight of theitem is read from an item record (220) in a data store (450) where theitem record has a structure similar to the one illustrated at reference(220) on FIG. 3. That is, in the method of FIG. 4, the purchase request(202) may include an item identifier; an item record (220) may includedata elements describing the item, including the weight of the item; anddetermining (406) a weight of the item may be carried out by selectingan item record (220) in dependence upon the item identifier and readingthe weight of the item from the item record (220).

The method of FIG. 4 also includes identifying (408), in dependence uponthe weight of the item, a shipping weight range and a shipping cost forthe item. In the method of FIG. 4, the shipping weight range includes amaximum shipping weight, and the maximum shipping weight range isdetermined from a shipping cost table having a structure similar to theone illustrated for example at reference (230) on FIG. 3. The method ofFIG. 4 also includes calculating (410) a difference between the weightof the item and the maximum shipping weight in the shipping weight rangeand selecting (414) an upsell item in dependence upon the differencebetween the weight of the item and the maximum shipping weight in theshipping weight range. The method of FIG. 4 also includes offering (416)the upsell item to the customer, including offering to ship both theitem and the upsell item for only the identified shipping cost.

In the method of FIG. 4, selecting (414) an upsell item in dependenceupon the difference between the weight of the item and the maximumshipping weight in the shipping weight range may be implemented byselecting an upsell item having a weight not greater than the differencebetween the weight of the item and the maximum shipping weight in theshipping weight range. In the method of FIG. 4, selecting (414) anupsell item in dependence upon the difference between the weight of theitem and the maximum shipping weight in the shipping weight range may becarried out by selecting an upsell item having a weight not greater thanthe difference between the weight of the item and the maximum shippingweight in the shipping weight range and a type code (229 on FIG. 3)matching a type code associated with the item.

In the method of FIG. 4, selecting (414) an upsell item in dependenceupon the difference between the weight of the item and the maximumshipping weight in the shipping weight range may be implemented byselecting an upsell item having a weight not greater than the differencebetween the weight of the item and the maximum shipping weight in theshipping weight range and at least one demographic code matching atleast one demographic code (252 on FIG. 3) associated with the customer.In the method of FIG. 4, selecting (414) an upsell item in dependenceupon the difference between the weight of the item and the maximumshipping weight in the shipping weight range may be implemented byselecting an upsell item having a weight not greater than the differencebetween the weight of the item and the maximum shipping weight in theshipping weight range and an item type matching an item type (229 onFIG. 3) associated with the customer through a purchase history (210 onFIG. 3).

For further explanation, FIG. 5 depicts a graphical user interface(‘GUI’) of an exemplary computer software application program, moreparticularly, in the example of FIG. 5, a browser. ‘Browser,’ as theterm is used in this specification, generally means a web browser, asoftware application useful as a client-side data communicationsapplication in systems for weight based upselling according toembodiments of the present invention. Browsers typically can displaytext, graphics, audio, and video. Browsers are operative in any computercapable of data communications including web-enabled devices, wirelessweb-enabled devices, microcomputers, PDAs, laptops, and so on. Browsersin wireless web-enabled devices often are downsized browsers called“microbrowsers.” The example of FIG. 5 is represented as a browser forconvenience of explanation, not for limitation. In fact, many computerapplication programs may be improved according to embodiments of thepresent invention for use in weight based upselling, including, forexample, instant messaging client applications, word processor programs,spreadsheet programs, database management tools, and, of course,browsers.

The browser of FIG. 5, as depicted, has been operated to point to a website named “MyStore.com,” as shown in the title bar of the browserdisplay (302). The browser of FIG. 5 includes a GUI toolbar (306) with aBack button, a Forward button, and buttons for refreshing the display,searching, printing, and stopping web page retrievals. The browser ofFIG. 5 also includes a horizontal menu (304) containing the menu itemsFile, Edit, View, Bookmark (called ‘Favorites’ on some browsers), Tools,and Help. The exemplary browser of FIG. 5 includes an address bar (308),and invoking the Universal Resource Locator (‘URL’) identifying thedisplayed web page may be carried out by entering the URL in a browser'saddress bar (308) and invoking the browser's ‘Go’ button (307) next tothe address bar (308) with a mouseclick or keyboard carriage returnrequests the resource identified by the URL in the address bar, thereby‘navigating’ the browser.

In this example, a customer has accessed the web site at www.mystore.comand navigated the browser to the network address represented by the URL:http://www.mystore.com/shopping (308) which represents a shopping screenin a web site on a web server, an electronic commerce server,implemented to present and operate an online store with weight basedupselling according to embodiments of the present invention. The webpage so accessed has a site search feature (310) in which the customerentered the query ‘home gyms.’ The ecommerce server atwww.mystore.com/shopping responded with three descriptions of home gyms(320, 322, 324), and the customer selected one (324) with a mouseclick,thereby transmitting a purchase request to the ecommerce server andadding item (324) to an online shopping cart. The customer can reviewthe contents of the online shopping cart, purchase items in the cart,and make payment arrangements and shipping arrangements by activatingthe CHECKOUT button (326) near the bottom of the browser screen.

The ecommerce server, upon receiving the purchase request, after thecustomer selected item (324), retrieved the weight of the item, that is,the third home gym, from its inventory item records, item records thatmay be implemented, for example, as described above regarding reference(220) on FIG. 3. The ecommerce server then reads the shipping cost forthe item weight from a cost table similar to the one illustrated atreference (230) on FIG. 3, noting the maximum shipping weight for theweight range associated with the shipping cost in the shipping costtable and calculating the difference between the weight of the item andthe maximum shipping weight in the shipping weight range.

The ecommerce server then selected an upsell item in dependence upon thedifference between the weight of the item and the maximum shippingweight in the shipping weight range. That is, the ecommerce serverselected an upsell item whose weight would not cause the combined weightof the home gym plus the upsell item to exceed the maximum shippingweight in the shipping weight range for the same shipping cost. Inaddition, the ecommerce server selected the item according to ademographic. In this example, the demographic is an expression ofinterest by the customer. That is, the server treats the customer'spurchase request as an expression of interested in the item purchasedfor a home gym and looks up the item identifier for the item justpurchased in a demographic link table like the one illustrated atreference (250) on FIG. 3. The server finds a demographic link record(250 on FIG. 3) having the same item ID (208) as the item purchased,reads the demographicID (252) off that link record, finds the next linkrecord having the same demographicID, reads the item ID off that linkrecord, returns to the item records (220), finds an item with thatsecond item ID (which in this example is a book about home gymworkouts), reads the description field (226) from the book item record,formulates the FREE SHIPPING OPPORTUNITY dialogue box shown at reference(312) on FIG. 5, and, by displaying the dialogue box (312), offers theupsell item, the book, to the customer, including offering to ship boththe item and the upsell item for only the identified shipping cost.

It will be understood from the foregoing description that modificationsand changes may be made in various embodiments of the present inventionwithout departing from its true spirit. The descriptions in thisspecification are for purposes of illustration only and are not to beconstrued in a limiting sense. The scope of the present invention islimited only by the language of the following claims.

1-8. (canceled)
 9. A system for weight based upselling, the systemcomprising: means for receiving a purchase request for an item from acustomer including means for receiving a purchase request in anelectronic commerce server through an electronic data communicationsmedium, wherein the purchase request includes an item identifier; meansfor determining a weight of the item including means for selecting anitem record in dependence upon the item identifier, wherein the itemrecord includes data elements describing the item, including the weightof the item, and means for reading the weight of the item from the itemrecord; means for identifying, in dependence upon the weight of theitem, a shipping weight range and a shipping cost for the item, whereinthe shipping weight range includes a maximum shipping weight; means forcalculating a difference between the weight of the item and the maximumshipping weight in the shipping weight range; means for selecting anupsell item in dependence upon the difference between the weight of theitem and the maximum shipping weight in the shipping weight rangeincluding means for selecting an upsell item having a weight not greaterthan the difference between the weight of the item and the maximumshipping weight in the shipping weight range, a type code matching atype code associated with the item, at least one demographic codematching at least one demographic code associated with the customer, andan item type matching an item type associated with the customer througha purchase history; and means for offering the upsell item to thecustomer, including means for offering to ship both the item and theupsell item for only the identified shipping cost including means foroffering the upsell item to the customer from the electronic commerceserver through the electronic data communications medium. 10-16.(canceled)
 17. A computer program product for weight based upselling,the computer program product comprising: a recording medium; means,recorded on the recording medium, for receiving a purchase request foran item from a customer including means, recorded on the recordingmedium, for receiving a purchase request in an electronic commerceserver through an electronic data communications medium, wherein thepurchase request includes an item identifier; means, recorded on therecording medium, for determining a weight of the item including means,recorded on the recording medium, for selecting an item record independence upon the item identifier, wherein the item record includesdata elements describing the item, including the weight of the item, andmeans, recorded on the recording medium, for reading the weight of theitem from the item record; means, recorded on the recording medium, foridentifying, in dependence upon the weight of the item, a shippingweight range and a shipping cost for the item, wherein the shippingweight range includes a maximum shipping weight; means, recorded on therecording medium, for calculating a difference between the weight of theitem and the maximum shipping weight in the shipping weight range;means, recorded on the recording medium, for selecting an upsell item independence upon the difference between the weight of the item and themaximum shipping weight in the shipping weight range including means,recorded on the recording medium, for selecting an upsell item having aweight not greater than the difference between the weight of the itemand the maximum shipping weight in the shipping weight range, a typecode matching a type code associated with the item, at least onedemographic code matching at least one demographic code associated withthe customer, and an item type matching an item type associated with thecustomer through a purchase history; and means, recorded on therecording medium, for offering the upsell item to the customer,including means, recorded on the recording medium, for offering to shipboth the item and the upsell item for only the identified shipping costincluding means, recorded on the recording medium, for offering theupsell item to the customer firm the electronic commerce server throughthe electronic data communications medium. 18-24. (canceled)